package cn.oms.oms.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author AllenChen曾晨
 * @since 2022-04-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("staff")
@ApiModel(value="Staff对象", description="")
public class Staff implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "员工ID")
    @TableId(value = "staffId", type = IdType.AUTO)
    private Integer staffId;

    @ApiModelProperty(value = "用户ID")
    @TableField("userId")
    private Integer userId;

    @ApiModelProperty(value = "员工姓名")
    @TableField("staffName")
    private String staffName;

    @ApiModelProperty(value = "性别")
    @TableField("sex")
    private Integer sex;

    @ApiModelProperty(value = "出生年月")
    @TableField("dateOfBirth")
    private String dateOfBirth;

    @ApiModelProperty(value = "职称名称")
    @TableField("jobTitleName")
    private String jobTitleName;

    @ApiModelProperty(value = "科室ID")
    @TableField("departmentId")
    private Integer departmentId;

    @ApiModelProperty(value = "工作人员类别")
    @TableField("jobType")
    private Integer jobType;

    @ApiModelProperty(value = "删除标记")
    @TableField("deleteFlag")
    private Integer deleteFlag;

    /**
     * 当前问题包含的标签集合
     */
    //这个属性没有对应的列,需要使用下面的注解表示,否则数据库操作会报错
    @TableField(exist = false)
    @ApiModelProperty(value = "工作人员类别名称")
    private String jobTypeName;

    /**
     * 当前问题包含的标签集合
     */
    //这个属性没有对应的列,需要使用下面的注解表示,否则数据库操作会报错
    @TableField(exist = false)
    @ApiModelProperty(value = "生日")
    private String returnDateOfBirth;

    /**
     * 当前问题包含的标签集合
     */
    //这个属性没有对应的列,需要使用下面的注解表示,否则数据库操作会报错
    @TableField(exist = false)
    @ApiModelProperty(value = "性别名称")
    private String sexName;

    /**
     * 当前问题包含的标签集合
     */
    //这个属性没有对应的列,需要使用下面的注解表示,否则数据库操作会报错
    @TableField(exist = false)
    @ApiModelProperty(value = "科室名称")
    private String departmentName;

}
